The disclosure relates to the field of process flow applications and, more particularly, to enabling the use of process flow applications within an IMS.
A process flow application is a composite business program choreographing data exchanges between service blocks, representing the various software applications that participate in an electronic business process. These various software applications represented by the service blocks often operate on different platforms and/or from different network locations (i.e., external to the business network). Process flow applications provide a high-level approach for managing business process across multiple, disparate software systems.
One software system central to the performance of many business processes is an information management system (IMS). However, use of IMS within a conventional process flow application is prohibitive. Firstly, current process flow generation tools lack the ability to handle function calls and/or data structures that are specific to conventional IMS implementations. This increases the time and cost of using IMS within a process flow application since that such code elements would need to be added manually by application developers.
A current approach to overcome this is to handle the invocation of IMS applications as service components and not as complete service blocks. That is, instead of being able to pass the IMS application a set of input data for it to perform calculations upon and receive a final set of output data, the input and output is exchanged for each step or calculation performed. This increases the quantity of calls required to the IMS application to complete the step of the process flow. Each call to the IMS application requires an independent network request and response, increasing the network overhead and decreasing performance of the process flow application.
Another prohibitive factor is the interaction of IMS applications with external servers and business systems. Programming logic must be manually added to IMS applications in order to ensure proper communication with external servers, which may be running on a different platform. The manual addition of more code is required for the IMS application to support other business systems, such as business logic implementation, event processing, exception handling, and compensation logic. Because of the manual nature of these activities coupled with the lack of an IMS process flow tool, it would be a costly and time-consuming undertaking for an organization to modify their library of IMS applications.